1. Field of the Invention
The present invention relates to wireless communication devices and mobile stations. Typical examples of systems using wireless communication devices and mobile stations include W-CDMA (UMTS) mobile communication systems.
2. Description of the Related Art
Currently, standardization of the W-CDMA (UMTS) protocol, a protocol for third generation mobile communication systems, is proceeding under the 3GPP (3rd Generation Partnership Project). HSDPA (High Speed Downlink Packet Access), which provides a maximum downlink transfer speed of approximately 14 Mbps, has been specified as one of the themes for standardization.
HSDPA is characterized in that it employs an adaptive coding modulation scheme, switching for example between the QPSK modulation scheme and 16-QAM scheme adaptively according to the wireless environment between the base station and mobile station.
Furthermore, HSDPA employs an H-ARQ (Hybrid Automatic Repeat ReQuest) scheme. Under H-ARQ, when a mobile station detects an error in data received from a base station, a retransmission request is made by the mobile station in question to the base station, and retransmission of data from the base station is carried out accordingly.
Moreover, the mobile station performs error correction decoding using both already received data and retransmitted received data. In this way, H-ARQ makes it possible to obtain combining gain and reduce the number of retransmissions by effectively using already received data.
The main wireless channels used in HSDPA include HS-SCCH (High Speed-Shared Control Channel), HS-PDSCH (High Speed-Physical Downlink Shared Channel) and HS-DPCCH (High Speed-Dedicated Physical Control Channel).
HS-SCCH and HS-PDSCH are both shared downlink (i.e. in the direction from the base station to the mobile station) channels. HS-SCCH is a control channel for transmitting various parameters relating to the data transmitted on HS-PDSCH. The various parameters include, for example, modulation type information indicating which modulation scheme is used to transmit data on HS-PDSCH, the spread code allocation number (code number), information on the rate matching pattern applied to the transmitted data, etc.
Furthermore, HS-DPCCH is a dedicated control channel in the direction from the mobile station to the base station (namely, uplink), which is used by the mobile station for sending ACK or NACK signals to the base station depending on whether or not it was able to receive data via HS-PDSCH.
If the mobile station fails to receive data (if the received data has a CRC error, etc.), a NACK signal will be transmitted from the mobile station to the base station and the base station will accordingly perform retransmission control.
In addition, HS-DPCCH is used by a mobile station which has determined the reception quality (e.g. SIR) of the signal received from the base station to transmit the results thereof periodically to the base station as a CQI (Channel Quality Indicator). The base station judges the goodness of the downstream wireless environment based on the received CQI, and if it is good, switches to a modulation scheme allowing transmission of data at higher speed or the like. If the wireless environment is not good, the base station adaptively switches to a modulation scheme which transmits data at a lower speed or the like.
Channel Structure
Next, the channel structure of HSDPA will be described.
FIG. 1 is a drawing which illustrates the channel configuration of HSDPA. Since W-CDMA employs a code division multiplexing scheme, the individual channels are separated by code.
First, the channels which have not been explained will be briefly described.
CPICH (Common Pilot Channel) and P-CCPCH (Primary Common Control Physical Channel) are downlink common channels.
CPICH is a channel for transmitting a so-called pilot signal, and is used by the mobile station for channel estimation, cell search, and as timing reference for other physical channels in the same cell. P-CCPCH is a channel for transmitting notification information. Although this is not illustrated, SCH for cell search is transmitted in the header part of each slot, and since there is no orthogonality to other channels, it serves as an interference source for the other channels.
Next, the timing relationship of the individual channels will be described.
As shown in FIG. 1, in each channel, one frame (10 ms) consists of 15 slots. As described above, CPICH is used as a reference for other channels, so the head of the P-CCPCH and HS-SCCH frames is aligned with the head of the CPICH frame. Here, the head of the HS-PDSCH frame is delayed by 2 slots relative to HS-SCCH, etc. This is because advance notice of the modulation type information and spreading code information which is needed by the mobile station to perform demodulation of HS-PDSCH is provided via HS-SCCH. Therefore, the mobile station selects the appropriate demodulation scheme and de-spreading code according to this information whereof notification is given on HS-SCCH and then executes processing such as HS-PDSCH demodulation.
Furthermore, HS-SCCH and HS-PDSCH comprise sub-frames of 3 slots each.
The foregoing was a brief description of the channel configuration of HSDPA.
Next, the content and coding procedure of the data transmitted on HS-SCCH will be described.
Data Transmitted on HS-SCCH
The following data are transmitted on HS-SCCH. These data are used for reception processing of HS-PDSCH, which is transmitted after a 2-slot delay.                (1) Xccs (Channelization Code Set information)        (2) Xms (Modulation Scheme information)        (3) Xtbs (Transport Block Size information)        (4) Xhap (Hybrid ARQ Process information)        (5) Xrv (Redundancy and constellation Version)        (6) Xnd (New Data indicator)        (7) Xue (User Equipment identity)        
(1) through (7) will now be described.
(1) Xccs is a datum indicating the spreading code used for transmitting data on HS-PDSCH (e.g., a datum indicating a multicode number and code offset combination), and consists of 7 bits.
(2) Xms is a datum indicating that the modulation scheme used on HS-PDSCH is either QPSK or 16-QAM, and consists of 1 bit.
(3) Xtbs is a datum used for computing the transport block size of data transmitted on HS-PDSCH (the size of data transmitted in one HS-PDSCH sub-frame), and consists of 6 bits.
(4) Xhap is a datum formed from 3 bits indicating the H-ARQ process number. The base station is fundamentally unable to judge whether data could be received or not by the mobile station until the base station receives an ACK or NACK. However, if one were to wait until receiving an ACK or NACK before transmitting a new data block, the transport efficiency would drop. Thus, to allow transmission of new data blocks before an ACK or NACK is received, a process number is defined for each data block transmitted in a sub-frame, and the mobile station is made to discriminate the reception processing according to the process number. In other words, when performing retransmission, the base station matches the process number of each transport block by assigning the same process number as the process number assigned to the earlier sent transport block, and transmits it in advance via HS-SCCH as Xhap.
Therefore, the mobile station classifies the data received via HS-PDSCH based on the Xhap it has received, distinguishing between new transmission and retransmission within a data stream for which the same process number was provided via HS-SCCH based on Xnd, which will be discussed below, combining new data with retransmitted data (H-ARQ processing, etc.), and the like.
(5) Xrv is a datum indicating the redundancy version (RV) parameters (s, r) and constellation version parameter (b) for HS-PDSCH retransmission, and consists of 3 bits.
With regard to Xrv, there is a first technique (Incremental Redundancy) whereby parameters are updated for new transmission and retransmission, and a second technique (Chase Combining) whereby the parameters are not changed for new transmission and retransmission.
With the first technique, the puncture pattern and the like changes, so the bits to be transmitted for new transmission and retransmission change, while with the second technique, they do not change.
(6) Xnd is a datum indicating whether the block transmitted on HS-PDSCH is a new block or a retransmitted block, and consists of 1 bit. For example, when transmitting a new block, it would be switched from 0 to 1 or from 1 to 0, and for retransmission, it would not be switched and the same value as before would be used.
For example, when performing new transmission, retransmission, new transmission, retransmission, retransmission, and new transmission in that order, Xnd would change as follows: 1, 1, 0, 0, 0, 1.
(7) Xue is a datum indicating mobile station identification information, and consists of 16 bits.
Coding of Data Transmitted on HS-SCCH
FIG. 2 is a drawing illustrating the coding procedure (coding device) for the aforementioned data (1) through (7) which are transmitted on HS-SCCH, which is executed mainly in the base station.
In the drawing, 1 is a coding unit, 2 is a rate matching unit, 3 is a multiplier, 4 is a CRC computation unit, 5 is a multiplier, 6 is a coding unit, 7 is rate matching unit, 8 is a coding unit and 9 is a rate matching unit.
Next, the operation of each block will be explained.
(1) Xccs, represented by 7 bits (x1,1˜x1,7), and (2) Xms, represented by 1 bit (x1,8) are input into the coding unit 1 as a datum of 8 bits total. Here, the first number of the subscript signifies that this relates to data transmitted in the first slot, and the second number, separated by a comma (,), indicates the number of the bit.
Coding unit 1 appends 8 tail bits to the input data and performs convolution coding with a code rate of ⅓ on the total of 16 bits. Therefore, the coded data becomes a total of 48 bits, and is supplied as z1,1˜z1,48 to the rate matching unit 2. Rate matching unit 2 performs puncture or repetition processing or the like on specific bits to adjust to a bit number that will fit into the first slot (here, assumed to be 40 bits), and outputs the result (r1,1˜r1,40).
Data from the rate matching unit 2 is multiplied with c1˜c40 by the multiplier 3 and output as s1,1˜s1,40, and is transmitted in the first slot (first part), which is the leading slot of one sub-frame in the HS-SCCH of FIG. 1.
Here, c1˜c40 are obtained by taking data from (7) Xue (xue1˜xue16), appending 8 tail bits thereto and then convolution coding with a coding rate of ½ in coding unit 8 to obtain b1˜b48, and further performing the same sort of bit adjustment in rate matching unit 9 as was done in rate matching unit 2.
Meanwhile, the 6-bit (3) Xtbs (x2,1˜x2,6), 3-bit (4) Xhap (x2,7˜x2,9) and 3-bit (5) Xrv (x2,10˜x2,12) and 1-bit (6) Xnd (x2,13), or a total of 13 bits y2,1˜y2,13, are input with 16 bits y2,14˜y2,29, for a total of 29 bits y2,1˜y2,29, into coding unit 6.
Here, y2,14˜y2,29 are obtained by performing CRC computation processing on the total of 21 bits of (1) through (6) in the CRC computation unit 4 and multiplying c1˜c16, as the result of the computation, by (7) Xue (xue1˜xue16).
The y2,1˜y2,29 which are input into coding unit 6 have 8 tail bits added thereto and are convolution coded with a ⅓ coding rate and input as 111-bit data z2,1˜z2,111 into the rate matching unit 7.
The rate matching unit 7 outputs 80 bits, r2,1˜r2,80 by means of the aforementioned puncture or other such processing, and these r2,1˜r2,80 are transmitted in the second and third slots (second part) in one sub-frame on HS-SCCH of FIG. 1.
As described above, the data of (1) and (2) are transmitted in the first part, while (3) through (6) are transmitted in the second part, thus being transmitted distinctly in separate slots; on the other hand, the CRC computation is carried out on them in common, with the CRC computation results being transmitted within the second part, so detection of reception error becomes possible once both the first and second part are completely received.
Furthermore, since the data to be transmitted in the first part is convolution coded by coding unit 1 and then multiplied by (7) Xue by the multiplier 3, when data addressed to another station is received in the first slot, the path metric value and the like generated in the decoding process will be smaller compared to if it were addressed to the receiving station, thus making it possible to know if there is a high probability of the data not being addressed to the receiving station by comparing the path metric value to a reference value.
Coding of Data Transmitted on HS-PDSCH
Next, the process until the transmission data is transmitted via HS-PDSCH will be described using a block diagram.
FIG. 3 is a diagram illustrating a transmission device of the present invention.
A transmission device (wireless base station) of an HSDPA-compatible W-CDMA communication system as described above will be discussed as an example of a transmission device. The invention can also be applied to transmission devices of other communication systems.
In the drawing, 10 represents a control unit which outputs the transport data in order to be transmitted via HS-PDSCH (the data transmitted within one sub-frame) as well performing control of the various units (11 through 26, etc.). The values of (1) through (7) explained in FIG. 2 are given by this control unit 10.
Since HS-PDSCH is a shared channel, it is permitted for the output transport data to be addressed to different mobile stations.
11 represents a CRC attachment unit which performs CRC computation on the input transport data (data transmitted within the same wireless frame) and attaches the results of CRC computation to the tail of the transport data, and 12 represents a bit scrambling unit which imparts randomness to the transmitted data by applying a bit-unit scramble to the transport data with the CRC computation results attached thereto.
13 represents a code block segmentation unit which segments (e.g. into two equal parts) the input bit-scrambled transport data if it exceeds a certain data length, for the purpose of preventing the computation load of the receiving side decoder from increasing due to excessive length of the data to be coded in the subsequently performed channel coding, or for other purposes. The drawing shows a case where the input data length exceeded a specific data length and the output has been split into two equal parts (segmented into a first data block and second data block). Of course, cases where the number of segments segmented into is other than two are also possible, as are cases where the segments are not equal parts but have different data length.
14 represents a channel coding unit which performs error correction coding individually on each segmented datum. Here, a turbo coder will be used for the channel coding unit 14.
Thus, the first output, for the first block, contains the important systematic bits (U) which are the same data as the data subjected to coding, the first redundancy bits (U′) obtained by convolution coding of the systemic bits (U), and the second redundancy bits (U″) obtained by interleaving and then similarly convolution coding the systematic bits. Likewise, the second output contains the systematic bits (U), first redundancy bits (U′), and second redundancy bits (U″) for the second block.
15 represents a bit separation unit which separates the first block and second block serially input from the channel coding unit 14 (turbo coder) into systematic bits (U), first redundancy bits (U′) and second redundancy bits (U″) and outputs them.
16 represents a first rate matching unit which performs rate matching, such as puncturing, on the input data so that the input data (in cases where data is segmented into multiple blocks, all the data of the segmented blocks) will be of a quantity that fits into a specific region of the subsequent virtual buffer unit 17.
17 represents a virtual buffer unit wherein a region is established by the control unit 10 according to the reception processing capacity of the mobile station to be transmitted to, in which region data rate-matched by the first rate matching unit 16 is buffered. For retransmission, by outputting the buffered data, the processing from the CRC attachment unit 11 to the first rate matching unit 16 can be omitted, but in cases where one wishes to modify the coding rate for retransmission or the like, it is desirable to re-output the transmission data stored in the control unit 10 and not use the buffered data. It is also possible to actually provide no buffer for the virtual buffer 17 and simply make it pass-through. In this case, retransmitted data would be re-output from the control unit 10.
18 represents a second rate matching unit for adjusting data to a length that can bit into a sub-frame designated by the control unit 10; it adjusts the data length of input data by performing puncture and repetition processing so as to obtain the designated data length.
This second rate matching unit 18 performs rate matching according to the previously explained RV parameters.
Namely, depending on the RV parameters, when s=1, rate matching is performed so as to leave as many systematic bits as possible, and when s=0, it is permitted on the contrary to reduce the systematic bits and leave more redundancy bits. Furthermore, puncture and rate matching are preformed by a pattern that follows r.
19 represents a bit collection unit which arranges the data from the second rate matching unit 19 into a plurality of bit sequences. Namely, data of the first block and data of the second block are arranged according to a specific bit arrangement method to output a plurality of bit sequences for designating signal points on a phase plane. Since a 16-QAM modulation scheme is used in this example, the bit sequence consists of 4 bits. When using a 64-QAM modulation scheme, the bit sequence would be made 6 bits, and when using a QPSK modulation scheme, the bit sequence would be made 2 bits.
20 segments and outputs the bit sequences into the same number of branches as the spreading code number indicated by the control unit 10. Namely, it represents a physical channel segmentation unit which, when the code number in the transmission parameters indicated by the control unit 10 is N, maps and outputs the input bit sequence sequentially to branches 1 through N.
21 represents an interleaving unit which performs interleaving on the bit sequences of N branches and outputs the result.
22 represents a constellation rearrangement unit for 16-QAM, which is capable of rearranging bits within each input bit sequence. Bit rearrangement is performed according to the previously described constellation version. Examples of bit rearrangement include swapping the high order and low order bits. It is preferable to perform bit swapping for multiple bit sequences according to the same rule.
23 represents a physical channel mapping unit which maps the bit sequences of N branches onto the corresponding spreading block of the subsequent spreading unit 24.
24 represents a spreading unit which comprises multiple spreading blocks, each of which outputs a corresponding I and Q voltage based on each bit sequence of N branches and performs spreading with a different spreading code and outputs the result.
25 represents a modulating unit which combines the signals spread by the spreading unit 24, performs 16-QAM modulation scheme amplitude phase modulation or the like on the result thereof, amplifies it by means of a variable gain amplifier, further frequency-converts it to a wireless signal, and then outputs it to the antenna side as a wireless signal to enable transmission.
Under HSDPA, it is possible to multiplex signals addressed to other mobile stations within sub-frames of the same timing by means of a spreading code, so it is desirable to provide a plurality of sets of 10 through 25, variable gain amplifier, etc. (these will be referred to as transmission sets), combine the output signals of the variable gain amplifiers, frequency-convert them together, and then transmit the result to the antenna side. Of course, since there is a need to separate by code, for the spreading code used by the spreading unit 24 of each transmission set, a different spreading code would be used so as to allow separation.
26 represents a receiving unit, which receives signals from the mobile station received via HS-DPCCH or the like, and provides ACK and NACK signals, CQI, etc. to the control unit 10.
As discussed above, if an ACK signal is received, the next new data is transmitted, but in the case of a NACK signal or if there is no response within a specific period of time, the control unit 10 performs retransmission control so as to retransmit the transmitted data. Retransmission is limited to the maximum number of retransmissions that is set, and if no ACK signal is received from the mobile station upon reaching the maximum number of retransmissions, control is provided to switch to transmission of the next new data.
In cases where a maximum number of retransmissions is not defined, it is possible to start a timer from a new transmission and switch to transmission of the next new data when a specific time period is detected to have elapsed and no ACK signal has been received.
The foregoing was a description of the names and operation of the various units.
Matters relating to HSDPA as discussed above are disclosed for instance in 3G TS 25.212 (3rd Generation Partnership Project: Technical Specification; Group Radio Access Network; Multiplexing and channel coding (FDD)) and in 3G TS 25.214 (3rd Generation Partnership Project: Technical Specification; Group Radio Access Network; Physical layer procedures (FDD))
According to aforementioned background of this invention, the wireless communication device judges whether received data (via HS-PDSCH) is transmitted as new transmission or transmission based on data (Xnd or the like) which is used for discriminating between new transmission and retransmission. If the wireless communication device judges as new transmission, then it performs error correcting decoding for received new transmission data.
In here, when error is detected for the decoded result, the wireless communication device stores the received new transmission data and performs error correcting decoding again for combined data of both the stored new data and received data relating to retransmission of the new data. Accordingly, the error correcting decoding is conducted every time regardless of new transmission or retransmission.